Customers can access media content servers through the Internet and other networks to download and play media content files. Such media content files may contain digitized music, video or radio broadcasts. The customer's computer typically has media player software to allow playback of the media content. Media content is read either in real time (so called “streaming media content”) or downloaded to a CDROM or hard disk from media files stored on the content servers. The streaming media players allow decompression of media content and playback in real time. The streaming media player software can be integrated into the subscriber computer browser or can be downloaded from the media content server as a “plug-in”. RealNetworks, Inc. provides such a streaming media player called “RealPlayer”. Likewise, Microsoft Corporation provides a streaming media player called “Windows™ Media Player”. The media content servers also offer sets of programs to create a media content file and broadcast the medial content file to other service subscribers.
Typically, the customer must request a media content file from the media content server. Other, related messages are exchanged before the media content file is downloaded to the customer's computer. These messages are subject to piracy, and the pirates may use information in the messages to improperly obtain a copy of the media content file. An existing process for obtaining a media content file is as follows. A customer browser, media player builds and sends to a media content server a URL which includes a name of the desired media content file and a file path identifying the file name. The following is an example:
Rtsp://m1.media.tele.net:554/archive/film1.rm.
In the foregoing example, “Film1” is the name of the desired media content file, and “tele.net:554/archive/film1.rm” is the complete file path. Unfortunately, a pirate can likewise obtain this media content file by simply copying this link into the pirates media content player. Moreover, a pirate can obtain other media content files from the same content server location by figuring-out the naming convention of the media content files, and modifying the foregoing media content file name in accordance with the naming convention. For example, the pirate may try the same URL with “film2” or “film3” instead of “film1” to obtain media content files “film2” and “film3”.
One existing solution to hamper the pirate is to use ‘.js’ files containing JavaScript functions that dynamically build the full file path and file name of the media content file. However, there are limitations to this protection technique. Java script files are visible, and if the file name is not included in the URL, the location of the file name can be calculated by reading the ‘.js’ file. The ‘.js’ files can be easily downloaded from the content media server site. If the pirate writes the ‘.js’ URL in the address box of the pirate's browser, the browser automatically downloads the file onto the pirate's computer. If the pirate reads the ‘.js’ code, the pirate can easily deduce the name of the media content file. If the pirater reads the ‘.js’ code, the pirate can figure-out the naming convention (typically static) used in the media content archive. If the pirate reads the ‘.js’ code, the pirate can distribute this information, cracking the system security.
Also, it was known to hamper piracy of a media content file by encrypting the content of the file before transmission to the customer. The encryption is performed at the media content server, and the file is subsequently decrypted by the customer computer using a decryption key supplied to the authorized customer. Unfortunately, sophisticated hardware and software are required to encrypt and later decrypt the media content files. Also, typically, the encryption key is large which compounds the effort. The servers may have the CPU resources necessary for the encryption, but the customer computer may not. Also, the foregoing encryption technique does not prevent piracy of media content files if their unencrypted form can be accessed.
An object of the present invention is to protect media content files from piracy.
Another object of the present invention is to protect media content files from piracy, with minimal burden to the media content server and the customer computer.